/*
 * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
 *
 * https://www.mall4j.com/
 *
 * 未经允许，不可做商业用途！
 *
 * 版权所有，侵权必究！
 */
package com.yami.shop.distribution.common.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import java.math.BigDecimal;
import java.util.List;

/**
 * @author lhd
 * @date 2021-09-06 14:20:02
 */
@Data
@ApiModel("分销配置")
public class DistributionConfigDTO {

    @ApiModelProperty("分销开关： 0:关闭 1:开启")
    private Integer distributionSwitch;

    @ApiModelProperty("客户绑定设置-业绩归属 :  0:允许绑定,关系优先 1:不绑定 分享人优先")
    private Integer attribution;

    /**
     * 申请条件配置-------------------------------------------------------------
     */

    @ApiModelProperty("0:人工判定 1:系统判定")
    private Integer autoCheck;

    @ApiModelProperty("购买指定商品，确认收货任意一件商品后计入")
    private List<Long> prodIdList;

    @ApiModelProperty("消费金额大于等于expenseAmount元，实付金额+积分抵扣+余额抵扣总金额，收货后计入")
    @DecimalMax(value = "92233720368547758", message = "最大不能超过" + 92233720368547758L)
    private BigDecimal expenseAmount;

    @ApiModelProperty("消费笔数大于等于expenseNumber次,下单次数，收货后计入")
    private Integer expenseNumber;

    @ApiModelProperty("是否需要真实姓名 true 需要 false不需要")
    private Boolean realName;

    @ApiModelProperty("是否需要身份证号码 true 需要 false不需要")
    private Boolean identityCardPic;

    @ApiModelProperty("是否需要身份证照片 true 需要 false不需要")
    private Boolean identityCardNumber;

    @ApiModelProperty("提现发放方式： 0.无需审核直接发放，1.审核后系统发放，2.审核后人工发放")
    private Integer withdrawal;

    /**
     * 提现申请配置-------------------------------------------------------------
     */

    @ApiModelProperty("提现频率(天)")
    private Integer frequency;

    @ApiModelProperty("单笔提现最高（元）")
    @Max(value = 20000, message = "单笔提现最高不能超过2W")
    private BigDecimal amountMax;

    @ApiModelProperty("单笔提现最低 （元）")
    @Max(value = 19999, message = "单笔提现最低不能超过19999元")
    @Min(value = 1, message = "单笔提现最低不能低于1元")
    private BigDecimal amountMin;

    @ApiModelProperty("打款说明")
    private String paymentExplain;

    @ApiModelProperty("提现次数")
    @Min(value = 0, message = "提现次数不能小于0")
    private Integer number;
}
